GdkSurface *surface;
GskRenderer *renderer;
+ cairo_region_t *extra_input_region;
+
GList *foci;
GtkConstraintSolver *constraint_solver;
GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GtkMnemonicHash *mnemonic_hash;
+ g_clear_pointer (&priv->extra_input_region, cairo_region_destroy);
g_free (priv->title);
gtk_window_release_application (window);
{
cairo_region_t *region = cairo_region_create_rectangle (&rect);
+ if (priv->extra_input_region)
+ cairo_region_intersect (region, priv->extra_input_region);
+
gdk_surface_input_shape_combine_region (priv->surface, region, 0, 0);
cairo_region_destroy (region);
}
}
+void
+gtk_window_set_extra_input_region (GtkWindow *window,
+ cairo_region_t *region)
+{
+ GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
+
+ g_clear_pointer (&priv->extra_input_region, cairo_region_destroy);
+ priv->extra_input_region = cairo_region_copy (region);
+ update_csd_shape (window);
+}
+
static void
corner_rect (cairo_rectangle_int_t *rect,
const GtkCssValue *value)